package hotel.base.oversea.constant.quartz;


import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 携程酒店产品相关枚举
 */
public class UrlSwitchsEnums {
    /**
     * 母物理房型
     */
    @Getter
    @AllArgsConstructor
    public enum room {
        GET_ROOM_MASTER("获取母酒店物理房型", "/switchBasicRoomTypeInfo/getdltbasicroomlist"),
        SAVE_ROOM_MASTER("保存母酒店物理房型","/switchBasicRoomTypeInfo/saveRoomTypeInfos"),
        GET_ROOM_STATIC("获取静态物理房型","/switchBasicRoomTypeInfo/gethotelroomstaticinfo"),
        SAVE_ROOM_STATIC("保存静态物理房型","/switchBasicRoomTypeInfo/saveBasicRoomInfos");
        private final String NAME;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum city {
        GET("获取携程国内城市", "/switchCity/getLists"),
        SAVE("批量保存携程城市数据", "/switchCity/saveCityInfos");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum masterHotel {
        GET_HOTEL_BY_CICY("获取母酒店信息", "/switchHotelInfo/getdltmasterhotellist"),
        SAVE("保存母酒店信息", "/switchHotelInfo/saveMasterHotelInfos");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum subHotel {
        GET("获取子酒店数据", "/switchStuHotelInfo/getdlthotellist"),
        SAVE("保存子酒店数据", "/switchStuHotelInfo/saveHotelInfos"),
        GET_ONE_MASTER_ID("返回母酒店id", "/compareHotel/queryOneNotCreateMasterHotelId"),
        //CREATE("创建子酒店数据并获取子酒店详情", "/switchCreateSubHotel/addSwitchCreateSubHotelAndGetSubInfo"),
        CREATE("创建子酒店数据", "/switchCreateSubHotel/addSwitchCreateSubHotel"),
        UPDATE_MASTER_COMPARE_IS_CREATE("更新对比酒店为已创建", "/compareHotel/updateCompanreMasterIsCreateSub");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum dealNotifyToPool {
        GET_ID("获取通知订单id", "/switchOrderListNotify/queryOneNotDealByNotifyOrderId"),//调整为id指的是表md5key值
        DO_NOTIFY_TO_POOL("调用携程接口处理通知订单to订单池", "/switchOrderInfo/operateSwitchAndMeituanOrderByOrderId"),
        UPDATE_NOTIYF_ORDER_IS_DEAL("更新携程通知订单已处理to订单池", "/switchOrderListNotify/updateNotifyOrderIsDeal");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum orderNotify {
        ALL("查询携程通知订单接口", "/switchOrderInfo/getdltordernotify");
        private final String name;
        private final String value;
    }
    @Getter
    @AllArgsConstructor
    public enum delayToBooking {
        GET("符合条件可改为立即下单的延迟订单ids", "/switchOrderPool/getDelayChangeBookingOrders"),
        UPDATE("将延迟订单改为立即下单状态", "/switchOrderPool/updatePoolIsOrderByIds"),
        RE_DEAL_ONE_ORDER_TO_POOL("延迟单的系统状态为拒绝状态的再执行一次处理","/switchOrderInfo/operateSwitchAndMeituanOrderByOrderId");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum delayRejectToBooking {
        GET("系统状态为拒绝的延迟单", "/switchOrderPool/getDelayRejectBookingOrders"),
        RE_DEAL_ONE_ORDER_TO_POOL("延迟单的系统状态为拒绝状态的再执行一次处理","/switchOrderInfo/operateSwitchAndMeituanOrderByOrderId");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum orderPool{
        UPDATE_STATE("更新携程pool", "/switchOrderPool/updatePoolMtStateByOrderId"),
        ORDER_CHECK_UPDATE("异步通知的订单进行分析更新", "/mtHotelOrder/jobQueryOrderCheckSave");//定时器订单主动查询也是用该方法，两边调用
        private final String name;
        private final String value;
    }
    @Getter
    @AllArgsConstructor
    public enum sql {
        CREATE_TABLE("调用创建表方法", "/mtHotelOrderNotify/createTableJob"),
        CREATE_SWITCH_TABLE("调用携程创建表方法", "/switchHotelUp/createTable");
        private final String name;
        private final String value;
    }
    @Getter
    @AllArgsConstructor
    public enum queryBookingCheck {
        QUERY("处理调用下单前校验更新美团产品", "/switchCreateRoom/runHotel");
        private final String name;
        private final String value;
    }
    @Getter
    @AllArgsConstructor
    public enum goodsPrice {
        //暂停使用该方法不支持排序美团酒店，另开方法每次返回的售卖房型美团ids是某一个酒店的
        QUERY_SWITCH_GOODS_IDS("查询美团产品id根据携程售卖房型数据返回", "/switchCreateRoom/getMtIdsPageAboutSwitchSaleRoom"),
        //每次返回的售卖房型美团ids是某一个酒店的
        QUERY_SWITCH_GOODS_IDS_BY_MT_HOTEL_ID("查询美团产品id根据美团酒店id从售卖房型表返回", "/switchCreateRoom/getMtIdsAboutSwitchSaleRoomByMtHotelId"),
        CHECK_GET_CHANGE_GOODSIDS("根据上送ids校验获得已发送变更的goodsIds", "/mtHotelGoodsPrice/getChangeTodayGoodsIdsByPullIds"),
        //CHECK_GET_CHANGE_GOODSIDS_BY_ONE_HOTEL("根据上送酒店id校验返回一个月该酒店所有产品价格发送改变的ids", "/mtHotelGoodsPrice/getChangeMonthGoodsIdsByOneHotelId"),
        CHECK_GET_CHANGE_GOODSIDS_BY_ONE_HOTEL_NEW("24小时主动查询上架酒店所有产品价格房态", "/mtHotelGoodsPriceCallback/allTimeQueryUpHotelPriceStatus"),
        JOB_QUERY_MT_PRICE_PART_TIME("节点时间主动价格", "/mtHotelGoodsPriceCallback/partTimeQueryPriceInfo"),
        JOB_QUERY_MT_STATUS_PART_TIME("节点时间主动房态", "/mtHotelGoodsPriceCallback/partTimeQueryStatusInfo"),
        JOB_QUERY_PRICE_VIP("优势酒店价格查询", "/mtHotelGoodsQueryPriceVip/vipPriceQuery"),
        JOB_QUERY_PRICE_NORMAL("普通酒店价格查询", "/mtHotelGoodsQueryPriceNormal/normalPriceQuery"),
        JOB_QUERY_MT_STATUS_PART_TIME_VSEC("节点时间主动房态-版本二", "/mtHotelGoodsPriceCallbackVSec/partTimeQueryStatusInfo"),
        JOB_QUERY_MT_STATUS_DEAL_VSEC("节点时间主动房态-版本二", "/mtHotelGoodsPriceCallbackVSec/dealQueryStatusData"),
        CHECK_GET_CHANGE_GOODSIDS_BY_ONE_HOTEL_INV("主动查询上架酒店所有产品库存", "/mtHotelGoodsPriceCallback/partTimeQueryInvInfo"),
        CHECK_GET_CHANGE_GOODSIDS_DONE_SAVE_DATE_PRICE("check完保存价格日历", "/mtHotelGoodsPrice/dealNotifyDoneSavePriceChangeData"),
        SWITCH_PRICE_CHANGE("携程修改价格接口", "/switchCreateRoom/modifyPrice"),
        SWITCH_UPDATE_ONE_HOTEL_GOODS_INFO("携程更新产品价格房态库存等信息根据一个酒店", "/switchCreateRoom/notityModifyRoomInfo"),
        SWITCH_PRICE_CHANGE_BATCH("携程批量修改价格接口", "/switchCreateRoom/modifyPrices"),
        SWITCH_THREAD_DEAL_REDIS_CHANGE_DATA("携程多线程处理缓存的产品变化数据", "/switchCreateRoomCallback/notityModifyRoomInfoByManyThreadCallback"),
        SWITCH_THREAD_DEAL_REDIS_CHANGE_DATA_2("携程多线程处理缓存的产品变化数据", "/switchCreateRoomCallback/notityModifyRoomInfoByManyThreadCallback2"),
        SWITCH_MAEE_PUSH_DATA("携程多线程封装推送携程的变化数据","/switchCreateRoomCallback/makePushRoomData"),
        SWITCH_PUSH_ROOM_TO_SWITCH("多线程推送数据给携程","/switchCreateRoomCallback/pushRoomToSwitch"),
        SWITCH_THREAD_DEAL_REDIS_CHANGE_DATA_HHB_CHANNEL("携程多线程处理缓存的很好办推送的产品变化数据", "/switchCreateRoomCallback/notityModifyRoomInfoByManyThreadCallbackBySplider"),
        SWITCH_THREAD_DEAL_REDIS_CHANGE_DATA_NEW("携程多线程处理缓存的产品变化数据", "/switchCreateRoom/notityModifyRoomInfoByManyThread"),
        SWITCH_PRICE_AND_STATUS_REFRESH_PUSH_JOB("携程针对异常房态价格重新推送","/switchHotelUp/refreshPushRoomStatusAndPrice");
        private final String name;
        private final String value;
    }
    @Getter
    @AllArgsConstructor
    public enum addDowngGoods {
        ADD("携程处理新增的美团产品", "/switchCreateRoom/productNewAdd"),
        DOWN("携程处理失效的美团产品", "/switchCreateRoom/productFailure"),
        BREAKFAST("携程处理早餐变更产品", "/switchCreateRoom/updateCreateRoomBreak");
        private final String name;
        private final String value;

    }
    @Getter
    @AllArgsConstructor
    public enum checkFindPriceStatus {
        //获取上架酒店
        GET_UP_MT_HOTEL("获取上架酒店", "/switchHotelUp/getUpHotelAsc"),
        GET_DOWN_MT_HOTEL("获取上架酒店", "/switchHotelUp/getUpHotelDesc"),
        GET_ASC_MT_HOTEL("获取ASC上架酒店", "/switchHotelUp/getUpHotelRpOrFtAsc"),
        GET_DESC_MT_HOTEL("获取DESC上架酒店", "/switchHotelUp/getUpHotelRpOrFtAsc"),
        GET_INFO_UP("获取上架酒店上架产品信息", "/switchHotelUp/getUpHotelGoodsData");
        private final String name;
        private final String value;

    }

    @Getter
    @AllArgsConstructor
    public enum switchRoom{
        GET_ROOM_BY_ID("获取携程房间信息根据产品id信息", "/switchCreateRoom/getSaleRoomByMtGoodsId"),
        UPDATE_SALE_ROOM("携程更新售卖房型接口RateCode", "/switchBasicRoomTypeInfo/updateRateCode"),//包含更新早餐
        //UPDATE_ROOM_CHANGE("携程更新房态变更接口", "/switchCreateRoom/modifyStaus"),
        UPDATE_ROOM_BATCH_CHANGE("携程更新房态变更批量接口", "/switchCreateRoom/modifyStauss");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum switchRoomPrice{
        PUSH_ROOM_DATA("推送售卖房型推送价格房量房态根据子酒店id售卖房型id", "/switchCreateRoom/pushRoomData"),;
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum basicRoom {
        GET("获取校验后酒店房型信息", "/compareHotelBasicRoom/getHotelBasicRoomInfo"),
        SAVE("创建子物理房型", "/switchCreateBasicRoom/addBasicRoom"),
        BACK("更新创建字段状态", "/compareHotelBasicRoom/updateCreateStateById");
        private final String name;
        private final String value;
    }


    @Getter
    @AllArgsConstructor
    public enum canPushRoom {
        GET("获取能推送价格的房型id列表","/switchCreateRoom/getCanPushRoomIdList"),
        PUSH("售卖房型推送","/switchCreateRoom/pushRoomData");
        private final String name;
        private final String value;
    }

    @Getter
    @AllArgsConstructor
    public enum switchOrderPool {
        POST_SWITCH_ORDER_ALL("获取所有符合条件的待下单订单","/switchOrderPool/getSwitchOrderInfoByDltAsc"),//version qiuyy 20200817
        POST_SWITCH_MODIFY_REMAIN("修改库存接口","/switchCreateRoom/modifyRemain"),
        POST_SWITCH_IS_CAN_ACCEPT("效验是否可以接口","/switchCreateRoom/isCanAccept"),
        POST_SWITCH_ISSUE_ORDER("请求携程发单接口","/switchOrderInfo/issueOrder"),
        POST_SWITCH_UPDATE_ORDER_RESULT("更新携程订单实时状态池接口","/switchOrderPool/updateOrderResult"),
        POST_SWITCH_UPDATE_ORDER_BY_MT_CHECK_CODE("修改携程订单相关根据美团下单前校验code","/switchOrderInfo/updateSwitchsOrderByMtBookingBeforeCode"),
        POST_SWITCH_OPERATER_DLT_ORDER("请求携程订单操作接口","/switchOrderInfo/operaterDltOrder"),
        POST_MEITUAN_ORDER_BOOKING("预约下单接口","/mtHotelOrder/orderBooking"),
        POST_MT_ORDER_CHECK("请求美团下单前校验接口","/mtHotelOrder/orderCheck");
        private final String name;
        private final String value;
    }


    @Getter
    @AllArgsConstructor
    public enum switchCreateRoomJob {
        GET_SWITCH_DEAL_ROOM_FAILURE("携程产品下线-辅助下线功能","/switchHotelUp/dealRoomFailure"),
        POST_SWITCH_BASIC_ROOM_INFO("获取子酒店ID和子物理房型ID","/switchCreateBasicRoom/getBasicRoomInfoForJob"),
        POST_SWITCH_CREATE_ROOM("请求创建售卖房型接口","/switchCreateRoom/createRoom"),
        POST_SWITCH_UPDATE_BASIC_ROOM_INFO("更新售卖状态字段","/switchCreateBasicRoom/updateBasicRoomInfoForJob");
        private final String name;
        private final String value;
    }
    /***
     * @Author: lmf
     * @Date: 2020/12/28
     * 检查售卖酒店的房型是否可以创建产品
     */
    @Getter
    @AllArgsConstructor
    public enum SwitchCheckHotelRoomIsCreateJob {
        GET_SWITCH_CHECK_SALE_HOTEL_ROOM_HAVING_GOOD("检查售卖酒店的房型是否可以创建产品","/switchCreateRoom/checkSaleHotelRoomHavingGood"),
        SWITCH_BOOK_TIME_CLOSE_NO_ORDER_HOTEL_LIST("定点停售没有订单的酒店","/switchHotelUp/bookTimeCloseNoOrderHotelList"),
        SWITCH_BOOK_TIME_START_NO_ORDER_HOTEL_LIST("定点开启停售的酒店","/switchHotelUp/bookTimeStartNoOrderHotelList"),
        SWITCH_REPLACE_NO_ORDER_HOTEL("替换一个礼拜没有订单的酒店","/switchHotelUp/replaceNoOrderHotel"),
        SWITCH_AGAIN_NEW_HOTEL("从上架表中获取待上架的酒店，进行上架","/switchHotelUp/againNewHotel"),
        SWITCH_ADD_HOTEL_LIST("增量新增酒店","/switchHotelUp/addHotelList"),
        SWITCH_ACTIVE_HOTEL_DOWN_AND_UP("活动酒店上下架","/switchHotelUp/activeHotelDownAndUp"),
        SWITCH_SALE_HOTEL_UPDATE_ROOM_INFO("更新上架酒店的房型信息","/switchHotelUp/saleHotelUpdateRoomInfo"),
        SWITCH_CHECK_SALE_HOTEL_PRICE_AND_STATUS_IS_CHANGE("检查携程的价格+房态是否有更新到","/switchHotelUp/checkSaleHotelPriceAndStatusIsChange"),
        SWITCH_SET_CHECK_SALE_HOTEL_PRICE_AND_STATUS_IS_CHANGE_HOTEL_LIST("设置需要检查携程的价格+房态是否有更新的酒店列表","/switchHotelUp/setCheckSaleHotelPriceAndStatusIsChangeHotelList"),
        SWITCH_ALLOT_HOTEL_AND_FORMULA("针对上架酒店进行分配公式","/switchHotelUp/allotHotelAndFormula"),
        SWITCH_REMOVE_HOTEL_PRICE_CACHE("清除酒店缓存的价格公式","/switchHotelUp/removeHotelPriceSetCache"),
        SWITCH_ADJUST_HOTEL_PRICE_FORMULA("调整价格公式","/switchHotelUp/adjustHotelPirceFormula"),
        SWITCH_STATATIS_HOTEL_ORDER_NUM("统计每个月的订单量","/switchOrder/statisOrderNum"),
        SWITCH_FORMULA_LADDER_DOWN("针对酒店阶梯调价","/switchHotelUp/hotelFormualLadderDown")
        ;
        private final String name;
        private final String value;
    }


}
